就在Redstone发布的前一天,Vitalik刚刚发表了文章“Exit games for EVM validiums: the return of Plasma”,文中简单回顾了本已消失在以太坊生态的技术方案“Plasma”,并指出可以引入有效性证明(与ZK Proof混淆),来解决Plasma的问题。对此,有不少朋友认为,Vitalik发表这篇文章,是为了给Redstone站台,甚至在极客Web3社群内也有人说,Vitalik搞不好投资了Redstone。再加上此前传的沸沸扬扬的“以太坊Layer2定义之争”,一时间人们普遍认为,接下来会引发“Plasma的复兴”,而Celestia等以太坊生态外的DA方案可能因此被抑制,因为Plasma没有对DA的严格要求。但据本文作者考证,Redstone并不符合Plasma方案的大致框架,其自称“受到Plasma启发”反而有蹭Vitalik文章热点的可能性,而不是Vitalik真要为Redstone站台。此外,Redstone的DA挑战方案与Layer2项目Metis在2022年4月推出的方案颇有相似之处,只不过两者在更新Stateroot——发布DA数据这两个步骤上的先后次序不同。所以,真实的情况是,大家可能对Redstone产生了“过度解读”。下文中将通过一些简单的推理来为读者解释Plasma的原理及其为何对智能合约及Defi不友好,以及Redstone到底是什么东西。
当然,Vitalik在最近的文章“Exit games for EVM validiums: the return of Plasma”中也指出了这一点,并强调这是Plasma对智能合约不友好的因素之一。过往的知名Plasma变体如Plasma MVP和Plasma Cash等,采用了UTXO或类似的模型来替代以太坊的账户地址模型,并且不支持智能合约,这样可以避免上面谈及的“资产所有权分配”问题,每个UTXO的所有权固然归属于用户自己,但UTXO本身也有诸多缺陷,且对智能合约不友好。所以Plasma方案最适合简单的支付或订单簿式交易所。到后来,随着ZK Rollup的走红,Plasma本身也退出了历史舞台,因为Rollup不存在Plasma的数据扣留问题。假如ZK Rollup的排序器发动数据扣留攻击,只往ETH链上提交Stateroot但没有DA数据,这样的root会判定为无效,直接被L1上的Verifier合约拒绝。所以,ZK Rollup的合法Stateroot对应的DA数据,在ETH链上必定可查。这样就不存在“只发布区块头或merkle root,却不发布对应的区块体”,也就是可以解决数据可用性问题/数据扣留攻击。同时,Rollup的过往DA数据在以太坊上可查,任何人都可以通过ETH链上的历史记录来启动Layer2节点,这将去中心化乃至无需许可的排序器方案难度大幅降低。相比之下,Plasma对DA没有严格要求,实现去中心化排序器的难度也更大(要实现可替换的去中心化排序器,首先要保证所有的L2节点都认可相同的block,这就对DA实现方式提出了要求)。此外,如果ZK Rollup的排序器尝试把无效交易包含进Layer2区块,也无法成功,这是由有效性证明的原理来保障的。归根结底,ZK Rollup排序器的作恶空间与Plasma相比要狭小许多——它最多能让Stateroot的更新停滞,在UX层面相当于停机,或者拒绝某些用户的请求,俗称交易审查。同时,Rollup方案中如果排序器故障了,其他节点要替代它也会更容易。理想状态下的Rollup,可以将Plasma中Exit game模式的触发概率降至0(ZK Rollup中叫逃生舱)。